﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;

namespace Sakura.Media.AviSynth.Native
{
	/// <summary>
	/// 表示一个视频缓冲区。视频缓冲区是用于存放视频数据的一块内存区域。
	/// </summary>
	[StructLayout(LayoutKind.Sequential)]
	public struct AvsVideoBuffer
	{
		/// <summary>
		/// 缓冲区中保存的数据。
		/// </summary>
		[MarshalAs(UnmanagedType.LPArray)]
		public byte[] Data;
		/// <summary>
		/// 缓冲区数据的长度，以字节为单位。
		/// </summary>
		public int DataSize;
		/// <summary>
		/// 缓冲区的序列号。每次修改缓冲区内容，序列号都会递增。
		/// </summary>
		public int SequenceNumber;
		/// <summary>
		/// 缓冲区的引用计数。
		/// </summary>
		public int RefCount;
	}
}
